package com.winchain.chainbill.receivables.biz.impt.controller;

import com.shell.bee.base.annotation.Logging;
import com.shell.bee.base.utils.StringUtil;
import com.shell.bee.entity.mvc.RetMsg;
import com.shell.bee.mvc.controller.BaseController;
import com.shell.framework.utils.CommonFileUtil;
import com.winchain.chainbill.receivables.biz.impt.rx.BatchReceivablesStats;
import com.winchain.chainbill.receivables.biz.impt.service.ReceivablesImptRevService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;

@Controller
public class ReceivablesImptRevController extends BaseController {
	@Autowired
	private ReceivablesImptRevService receivablesImptRevService;

	@RequestMapping
	@ResponseBody
	@Logging(module = "������������", methods = "��������������������")
	public RetMsg pass(String arIds) throws Exception {
		if (StringUtil.emptyAndNull(arIds)) {
			new RetMsg("error", false, "��������");
		}
		String[] ids = arIds.split(",");
		BatchReceivablesStats stats = this.receivablesImptRevService.pass(ids);
		if (ids.length == stats.getAffectedRows()) {
			return new RetMsg("success", true, "��������������������");
		}
		if (stats.getAffectedRows() == 0) {
			return new RetMsg("error", false, "��������������������", CommonFileUtil.changMsg(stats.getAbnormalMsg()));
		}
		return new RetMsg("warning", false, "������������������������",
				CommonFileUtil.changMsg(stats.getAbnormalMsg()));
	}

	@RequestMapping
	@ResponseBody
	@Logging(module = "������������", methods = "��������������������")
	public RetMsg reject(String remark, String arIds) throws Exception {
		if (StringUtil.emptyAndNull(arIds)) {
			new RetMsg("error", false, "��������");
		}
		String[] ids = arIds.split(",");
		BatchReceivablesStats stats = this.receivablesImptRevService.reject(remark, ids);
		if (ids.length == stats.getAffectedRows()) {
			return new RetMsg("success", true, "������������������������");
		}
		if (stats.getAffectedRows() == 0) {
			return new RetMsg("error", false, "������������������������",
					CommonFileUtil.changMsg(stats.getAbnormalMsg()));
		}
		return new RetMsg("warning", false, "����������������������������",
				CommonFileUtil.changMsg(stats.getAbnormalMsg()));
	}
}
